package com.msa.msaportal.dao;

import java.util.List;

import com.msa.msaportal.entity.PortalExample;
import com.msa.msaportal.entity.PortalPage;
import com.msa.msaportal.entity.PortletEntity;
import com.msa.msaportal.entity.PortletViewRes;

public interface IPortalPageDao {
	
	/**
	 * 新建页
	 * @param portalPage
	 */
	PortalPage addPage(PortalPage portalPage);

	/**
	 * 新建portlet
	 * @param portletEntity
	 */
	PortletEntity addPortlet(PortletEntity portletEntity);
	/**
	 * 根据id获取页
	 * @param pageid
	 * @return
	 */
	PortalPage findById(Integer pageid);
	/**
	 * 更新对象
	 * @param portalPage
	 */
	void updatePage(PortalPage portalPage);
	/**
	 * 根据页获取portlet列表
	 * @param pageid
	 * @return
	 */
	List<PortletEntity> getPortletlistBypageId(Integer pageid);
	/**
	 * 根据portletid删除portlet
	 * @param portletId
	 */
	void deletePortelt(PortletEntity portlet);
	/**
	 * 根据id获取portlet
	 * @param portletId
	 * @return
	 */
	PortletEntity getPortletById(Integer portletId);
	/**
	 * 更新portlet
	 * @param portletEntity
	 */
	void updatePortlet(PortletEntity portletEntity);
	/**
	 * 根据portal查询page列表
	 * @param portalExample
	 * @return
	 */
	List<PortalPage> getPagelistByPortal(PortalExample portalExample);
	/**
	 * 根据portal_id查询PortalPage对象
	 * @param portal_id
	 * @return
	 */
	PortalPage findPortalId(Integer portal_id);
	/**
	 * 根据id获取portlet资源
	 * @param viewId
	 * @return
	 */
	PortletViewRes getPortletResByid(Integer viewId);
	/**
	 * 根据页和roleId获取portlet列表
	 * @param pageid
	 * @return
	 */

	List<PortletEntity> getPortletlistByRoleId(Integer pageId);
	/**
	 * 根据页和roleId和 role_id获取portlet列表
	 * @param pageid
	 * @param role_id
	 * @return
	 */
	List<PortletEntity> getByRoleId(Integer pageId, Integer role_id);

}
